home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / lib / python2.4 / site-packages / impacket / dcerpc / dcom.pyc (.txt) < prev    next >
Python Compiled Bytecode  |  2006-06-30  |  8KB  |  209 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.4)
  3.  
  4. import array
  5. from impacket import ImpactPacket
  6. import dcerpc
  7. import ndrutils
  8. from struct import *
  9. MSRPC_UUID_REMOTE_ACTIVATION = '\xb8J\x9fM\x1c}\xcf\x11\x86\x1e\x00 \xafn|W\x00\x00\x00\x00'
  10. MSRPC_UUID_SYSTEM_ACTIVATOR = '\xa0\x01\x00\x00\x00\x00\x00\x00\xc0\x00\x00\x00\x00\x00\x00F\x00\x00\x00\x00'
  11.  
  12. class ORPCTHIS:
  13.     __SIZE = 32
  14.     
  15.     def __init__(self, data = 0):
  16.         self._version_hi = 5
  17.         self._version_low = 6
  18.         self._flags = 1
  19.         self._reserved1 = 0
  20.         self._cid = '\xf1Y\xeba\xfb\x1e\xd1\x11\xbc\xd9\x00`\x97\x92\xd2l'
  21.         self._extensions = '`^\r\x00'
  22.  
  23.     
  24.     def set_version(self, mayor, minor):
  25.         self._version_hi = mayor
  26.         self._version_low = minor
  27.  
  28.     
  29.     def set_cid(self, uuid):
  30.         self._cid = uuid
  31.  
  32.     
  33.     def rawData(self):
  34.         return pack('<HHLL', self._version_hi, self._version_low, self._flags, self._reserved1) + self._cid + self._extensions
  35.  
  36.  
  37.  
  38. class UnknownOpnum3RequestHeader(ImpactPacket.Header):
  39.     OP_NUM = 3
  40.     __SIZE = 48
  41.     
  42.     def __init__(self, aBuffer = None):
  43.         ImpactPacket.Header.__init__(self, UnknownOpnum3RequestHeader._UnknownOpnum3RequestHeader__SIZE)
  44.         self.set_bytes_from_string('\x05\x00\x06\x01\x00\x00\x00\x00' + '1' * 32 + '\x00' * 8)
  45.         if aBuffer:
  46.             self.load_header(aBuffer)
  47.         
  48.  
  49.     
  50.     def get_header_size(self):
  51.         return UnknownOpnum3RequestHeader._UnknownOpnum3RequestHeader__SIZE
  52.  
  53.  
  54.  
  55. class UnknownOpnum4RequestHeader(ImpactPacket.Header):
  56.     OP_NUM = 4
  57.     __SIZE = 48
  58.     
  59.     def __init__(self, aBuffer = None):
  60.         ImpactPacket.Header.__init__(self, UnknownOpnum4RequestHeader._UnknownOpnum4RequestHeader__SIZE)
  61.         self.get_bytes()[:32] = array.array('B', ORPCTHIS().rawData())
  62.         self.set_cls_binuuid('\x01\x00\x00\x00\x00\x00\x00\x00p^\r\x00\x02\x00\x00\x00')
  63.         if aBuffer:
  64.             self.load_header(aBuffer)
  65.         
  66.  
  67.     
  68.     def get_c_binuuid(self):
  69.         return self.get_bytes().tolist()[12:12 + 16]
  70.  
  71.     
  72.     def set_c_binuuid(self, binuuid):
  73.         if not 16 == len(binuuid):
  74.             raise AssertionError
  75.         self.get_bytes()[12:12 + 16] = array.array('B', binuuid)
  76.  
  77.     
  78.     def get_cls_binuuid(self):
  79.         return self.get_bytes().tolist()[32:32 + 16]
  80.  
  81.     
  82.     def set_cls_binuuid(self, binuuid):
  83.         if not 16 == len(binuuid):
  84.             raise AssertionError
  85.         self.get_bytes()[32:32 + 16] = array.array('B', binuuid)
  86.  
  87.     
  88.     def get_header_size(self):
  89.         return UnknownOpnum4RequestHeader._UnknownOpnum4RequestHeader__SIZE
  90.  
  91.  
  92.  
  93. class RemoteActivationRequestHeader(ImpactPacket.Header):
  94.     OP_NUM = 0
  95.     __SIZE = 124
  96.     
  97.     def __init__(self, aBuffer = None):
  98.         ImpactPacket.Header.__init__(self, UnknownOpnum4RequestHeader._RemoteActivationRequestHeader__SIZE)
  99.         self.get_bytes()[:32] = array.array('B', ORPCTHIS().rawData())
  100.         self.set_cls_binuuid('\xbe\x1d\x8dG\xff\xd6\xe1L\xacT\xaa\xd5N\xf3E\xd3')
  101.         self.set_client_implementation_level(2)
  102.         self.set_interfaces_num(1)
  103.         self.get_bytes()[68:76] = array.array('B', '\x80?\x15\x00\x01\x00\x00\x00')
  104.         self.set_pi_binuuid('\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x00\x00\x00\x00\x00\x00F')
  105.         self.get_bytes()[92:124] = array.array('B', '\x01\x00\x00\x00\x01\x00\x00\x00\x07\x00d\x00\x04\x00i\x00\x01\x00\x00\x00\x87\x03\xb2\xd6\x99\xee\xace\xc7S\x81\xa4')
  106.         if aBuffer:
  107.             self.load_header(aBuffer)
  108.         
  109.  
  110.     
  111.     def get_c_binuuid(self):
  112.         return self.get_bytes().tolist()[12:12 + 16]
  113.  
  114.     
  115.     def set_c_binuuid(self, binuuid):
  116.         if not 16 == len(binuuid):
  117.             raise AssertionError
  118.         self.get_bytes()[12:12 + 16] = array.array('B', binuuid)
  119.  
  120.     
  121.     def get_cls_binuuid(self):
  122.         return self.get_bytes().tolist()[32:32 + 16]
  123.  
  124.     
  125.     def set_cls_binuuid(self, binuuid):
  126.         if not 16 == len(binuuid):
  127.             raise AssertionError
  128.         self.get_bytes()[32:32 + 16] = array.array('B', binuuid)
  129.  
  130.     
  131.     def get_object_name_len(self):
  132.         return self.get_word(48, '<')
  133.  
  134.     
  135.     def set_object_name_len(self, len):
  136.         self.set_word(48, len, '<')
  137.  
  138.     
  139.     def get_object_storage(self):
  140.         return self.get_word(52, '<')
  141.  
  142.     
  143.     def set_object_storage(self, storage):
  144.         self.set_word(52, storage, '<')
  145.  
  146.     
  147.     def get_client_implementation_level(self):
  148.         return self.get_long(56, '<')
  149.  
  150.     
  151.     def set_client_implementation_level(self, level):
  152.         self.set_long(56, level, '<')
  153.  
  154.     
  155.     def get_mode(self):
  156.         return self.get_long(60, '<')
  157.  
  158.     
  159.     def set_mode(self, mode):
  160.         self.set_long(60, mode, '<')
  161.  
  162.     
  163.     def get_interfaces_num(self):
  164.         return self.get_long(64, '<')
  165.  
  166.     
  167.     def set_interfaces_num(self, num):
  168.         self.set_long(64, num, '<')
  169.  
  170.     
  171.     def get_pi_binuuid(self):
  172.         return self.get_bytes().tolist()[76:76 + 16]
  173.  
  174.     
  175.     def set_pi_binuuid(self, binuuid):
  176.         if not 16 == len(binuuid):
  177.             raise AssertionError
  178.         self.get_bytes()[76:76 + 16] = array.array('B', binuuid)
  179.  
  180.     
  181.     def get_header_size(self):
  182.         return UnknownOpnum4RequestHeader._RemoteActivationRequestHeader__SIZE
  183.  
  184.  
  185.  
  186. class DCERPCDcom:
  187.     
  188.     def __init__(self, dcerpc):
  189.         self._dcerpc = dcerpc
  190.  
  191.     
  192.     def test(self):
  193.         request = RemoteActivationRequestHeader()
  194.         self._dcerpc.send(request)
  195.         data = self._dcerpc.recv()
  196.         return data
  197.  
  198.     
  199.     def test2(self):
  200.         request = UnknownOpnum3RequestHeader()
  201.         self._dcerpc.send(request)
  202.  
  203.     
  204.     def test_lsd(self):
  205.         request = UnknownOpnum4RequestHeader()
  206.         self._dcerpc.send(request)
  207.  
  208.  
  209.